#version 450 core
layout(location = 0) in vec3 inPos;
layout(location = 1) in vec3 inNormal;
layout(location = 0) out vec3 normal;
layout(location = 1) out vec3 fragPos;
uniform mat4 modelMatrix;
uniform mat3 normalMatrix;
uniform mat4 viewProjectionMatrix;
void main() {
    const mat4 mvpMatrix = viewProjectionMatrix * modelMatrix;
    gl_Position = mvpMatrix * vec4(inPos, 1.0f);
    fragPos = vec3(modelMatrix * vec4(inPos, 1.0f));
    normal = normalMatrix * inNormal;
}
